C# код
Описание.
С помощью этого экшена можно вставлять в проект куски кода, которые написаны на языке программирования C#. Тем самым функционал ZennoDroid заметно расширяется, как и область его использования.
Хоть C# — это и объектно-ориентированный язык, но в данном экшене не используются некоторые преимущества такого подхода. Например, классы и наследования. Код будет исполняться последовательно за исключением использования классов и публичных переменных из Директив Using и общего кода.
Где можно применить:
- Практически любые действия кубиков можно заменить через C#. При этом ускоряется разработка и эффективность с помощью выполнения кода.
- Использование любых разработок на C# в своём проекте.
- Интеграция сторонних библиотек и применение их в коде.
Как добавить в проект?
Через контекстное меню: Добавить действие → Свой код → C# код.
Как работать с экшеном?
Кубик C# код представляет собой обычный текстовый редактор с базовой подсветкой кода.
В него можно передавать любые переменные проекта, а результат сохранять в текстовом файле, таблице, базе данных или также в переменной.
Для использования методов и свойств проекта используется сущность project
. Например, если вы хотите вставить переменную проекта в код, то вызывать ее нужно так: project.Variables["counter"].Value
, где counter
— имя переменной.
Контекстное меню.
Нажав ПКМ по полю ввода в свойствах действия, вы откроете контекстное меню.
Отменить/Повторить.
Отменяет последнее изменение в коде. Однако если это было сделано случайно, то можно повторить отмененный ввод.
Данные действия работают только в коде окна C# и не вызывают изменений в других кубиках. Для аналогичной функции с другими кубиками нужно зайти в раздел Редактирование на верхней панели ProjectMaker.
Вырезать\Копировать\Вставить\Удалить.
Стандартные действия по работе с кодом как с текстом.
Закомментировать\Отменить комментирование.
Добавляет к выделенному коду символы //
, превращая его в комментарий. То есть эти строки будут отключены из общего выполнения.
Это особенно полезно при работе над большими проектами или для отладки кода. В комментариях также можно разместить информацию об изменениях, связях или функционале.
Нумерация строк.
Включает/отключает числовое обозначение строк. Помогает в быстрой навигации по коду, а также для нахождения ошибок по информации из лога.
На небольших проектах нумерацию можно отключить, чтобы расширить рабочее пространство.
В настройках ProjectMaker можно задать поведение по умолчанию.
Перенос строк.
Включает автоматический перенос строк, если в текущем окне не хватает места.
![]() | ![]() |
---|---|
Настройка выключена | Настройка включена |
В настройках ProjectMaker можно задать поведение по умолчанию.
Перейти к строке.
Позволяет быстро показать необходимую строку, введя номера линии и столбца в открывшемся диалоговом окне.
Используется для поиска ошибочного участка кода по информации из лога.
Поиск.
Открывает окно поиска по коду этого экшена. Искать можно с учетом параметров:
- С учетом регистра;
- Слово целиком;
- Искать назад;
- Использовать: Регулярные выражения или Знаки подстановки;
После нажатия на кнопку Найти далее курсор переходит на первое найденное значение. Повторное нажатие переводит курсор на следующее найденное значение и т. д.
Замена.
Похоже на Поиск, но сразу после нахождения искомого значения производится его замена на введенное значение.
Работать может в пошаговом режиме, либо сразу Заменить все найденные вхождения.
Вставить C# сниппет.
В место, где сейчас находится курсор, будет вставлено всё содержимое выбранного файла.
Изначально этот пункт меню не отображается. Чтобы он появился, надо в Директорию C# сниппетов добавить хотя бы один файл.
Сохранить фрагмент кода в файл, например, можно с помощью функции Сохранить в C# сниппет (описано ниже).
Файлы в директории можно помещать в папки и таким образом удобно их группировать.
Сохранить в C# сниппет.
Позволяет сохранять выделенный фрагмент кода в TXT-файл. Этот сниппет можно быстро использовать в дальнейшем и вставлять в другие проекты.
Установить значение из переменной.
При наведении курсора на этот пункт открывается список всех Своих и Авто-сгенерированных переменных проекта.
Выбрав нужную переменную в редакторе появляется конструкция вида project.Variables["myVar"].Value
. Это значение всегда имеет строковый тип (string), и для его использовании в качестве других типов необходима конвертация.
Не возвращать значение.
После отключения этого чекбокса результат выполнения кода будет передан с помощью оператора return
.
Положить результат в переменную.
Если отключен предыдущий чекбокс, то результат выполнения return
можно сохранить в любую переменную.
;
.Это помогает компилятору определить, где заканчивается строка. Без этого символа проект просто выдаст ошибку на этапе запуска.
Настройки по умолчанию.
В настройках программы есть блок настроек специально для кубика C#. Выше мы уже упоминали некоторые из них.
Конвертация экшенов в код.
В ZennoDroid есть функция, которая позволяет новичкам быстро освоиться с C#. Некотор ые из экшенов можно конвертировать в код и дальше работать с ним, как если бы это был кубик.
Вам нужно нажать на необходимый кубик ПКМ → Конвертировать в C# → вставить скопированный код в поле кубика C#.
Отладка C#.
В сложных и больших фрагментах C# иногда бывает сложно быстро найти ошибку. Поэтому необходима отладка (debug) C# кода с пошаговым мониторингом изменения переменных и данных в списках, таблицах и базах данных. Каждый экшен C# можно отладить в Project Maker с помощью установки одной или нескольких точек останова.
Для добавления точки останова нужно кликнуть в поле слева от редактора кода напротив нужной строки. Нажатием Далее запускаем исполнение кубика. Можно проверять работу кода по шагам или до следующей точки останова с помощью кнопок над редактором. Смотрим изменения в Окне переменных и эффективно исправляем ошибки.
Примеры использования.
Обучение программированию на C# выходит за рамки данной документации. Однако мы можем дать несколько советов и показать практические примеры, которые часто используют пользователи ZennoDroid при работе с C#.
Арифметические действия с целыми числами.
int value1 = Convert.ToInt32(project.Variables["value1"].Value);
int value2 = Convert.ToInt32(project.Variables["value2"].Value);
int value3 = value1 + value2; //или value1 - value2 или value1 * value2 и т. д.
return value3.ToString(); //сумма двух чисел